home *** CD-ROM | disk | FTP | other *** search
/ Aminet 38 / Aminet 38 (2000)(Schatztruhe)[!][Aug 2000].iso / Aminet / dev / e / udf.lha / testload.e next >
Encoding:
Text File  |  2000-01-28  |  2.3 KB  |  87 lines

  1. /***********************************************************
  2. **                                                        **
  3. **  Load test Program for UDF                             **
  4. **                                                        **
  5. **  ©2000 M&F Software Corporation                        **
  6. **  All Right Reserved                                    **
  7. **                                                        **
  8. **  AmigaE 3.3                                            **
  9. **                                                        **
  10. **  $VER: 0.2.0 (28.01.00)                                **
  11. **                                                        **
  12. ***********************************************************/
  13.  
  14. /*
  15.  
  16.   Recover the tree which has been saved previousl and display all udf
  17.   archive and chunks contents.
  18.  
  19. */
  20.  
  21. OPT OSVERSION=37
  22. OPT PREPROCESS
  23. OPT REG=3
  24.  
  25. MODULE  'M&F/udf', 'exec/lists'
  26.  
  27. #define filename 'RAM:archive1.udf'
  28.  
  29. PROC main()
  30.   DEF t=NIL:PTR TO udf, err=0
  31.   DEF l=NIL:PTR TO lh, node=NIL:PTR TO ck_node
  32.   DEF ver=0, rev=0, count=0
  33.   DEF meta=NIL:PTR TO metack
  34.   DEF lh=NIL:PTR TO lh
  35.   
  36.   NEW t.new(filename)
  37.   
  38.   IF (err:=t.load())=NIL
  39.     PrintF('name: \s\n', t.getname())
  40.     PrintF('size: \d\n', t.getsize())
  41.     ver, rev := t.getversion()
  42.     PrintF('version: \d.\d\n', ver, rev)
  43.     
  44.     l:=t.collectchunks([
  45.       CK_ID, ID_TEXT,
  46.       0]:LONG)
  47.     
  48.     node := l.head
  49.     WHILE node:=node.succ DO count++
  50.  
  51.     PrintF('Total collected chunk: \d\n\n', count)
  52.     PrintF('-----------------------+\n')
  53.     
  54.     IF IsListEmpty(l) 
  55.       PrintF('No chunk collected\n')
  56.     ELSE
  57.       node := l.head
  58.       WHILE node.succ
  59.         
  60.         PrintF('Chunk content:         |\n')
  61.         PrintF('"\s"\n', node.chunk.getdatabuffer())
  62.         
  63.         count:=0
  64.         lh:=node.chunk.getmetachunklist()
  65.         meta:=lh.head
  66.         WHILE meta.succ
  67.           IF count=0 THEN PrintF('\nMetachunk content:\n')
  68.           PrintF('"\s"\n', meta.data)
  69.           meta:=meta.succ
  70.           count++
  71.         ENDWHILE
  72.         PrintF('-----------------------+\n')
  73.         node := node.succ
  74.       ENDWHILE
  75.     ENDIF
  76.   
  77.     t.disposechunklist(l)
  78.     PrintF('\nTotal number of chunks: \d\n', t.countchunks())
  79.     
  80.   ELSE
  81.     PrintF('(\d) Could not open UDF file\n',err)
  82.   ENDIF
  83.  
  84.   END t
  85.  
  86. ENDPROC
  87.